Zanzibar

You can take the night ferry to Dar, it's the cheapest option, $20, and you also save a night's stay in a hotel. It leaves at 22h00, and arrives at about 06h00 in Dar. But the night ferry has no bed rooms so you must be ready to rough it.